In the past, computing applications such as computer games and multimedia applications used controllers, remotes, keyboards, mice, or the like to allow users to manipulate game characters or other aspects of an application. More recently, computer games and multimedia applications have begun employing cameras and software gesture recognition engines to provide a natural user interface (“NUI”). With NUI, user gestures and speech are detected, interpreted and used to control game characters or other aspects of an application.
NUI systems use three-dimensional (3-D) depth cameras to capture 3-D data of a scene. Depth cameras require several components to be precisely aligned in order to properly measure depth. Even a slight misalignment can result in significant depth measurement error. Misalignment may occur due to a variety of conditions, including for example improper manufacturing, extreme temperatures or other environmental factors, dropping the camera or other physical damage, etc. Once the alignment is changed, the depth may be improperly reported in a number of ways. The results of this distortion can cause a shift in the camera's depth range, a transformation of an object's dimensions, or a variety of other distortions may occur. It is therefore desirable to provide a system for calibrating a depth camera to capture an accurate depth image, preferably with minimal impact on the user experience.